#ifndef DIALOGRDP_H
#define DIALOGRDP_H

#include <QDialog>
#include <QtNetwork>
#include <QLabel>
#include "config.h"
#include "netcore.h"

namespace Ui {
class DialogRDP;
}

class DialogRDP : public QDialog
{
    Q_OBJECT

public:
    explicit DialogRDP(QWidget *parent = nullptr, MyTcpSocket * myTcpSocket = nullptr, NetCore * netCore = nullptr);
    ~DialogRDP();

    void closeEvent(QCloseEvent *);

private slots:

    // 网络槽函数 - 网络位图数据流
    void on_screen_data(MyTcpSocket* tcpSocket, int x, int y, QByteArray data);

    // 网络槽函数 - 客户端变化
    void on_client(int code, MyTcpSocket * myTcpSocket);

private:

    Ui::DialogRDP *ui;

    QList <QLabel *> qLabelList;    //显示位图块的QLabel

    // 客户端信息
    MyTcpSocket * myTcpSocket = nullptr;

    // 网络核心类指针
    NetCore * netCore = nullptr;

    // 配置文件操作类
    Config config;

private:

    //设置位于[x,y]位置的qLabel位图数据
    void setQLabelPixmap(QPixmap pixmap, int x, int y);
};

#endif // DIALOGRDP_H
